// var baseUrl='https://ncxgfz.nccloudmedia.com/index.php'//线上 
var baseUrl='https://dxjb.ncscloudmedia.com/index.php'//本地 
// token验证接口
const tokenApi = "/api/token/status";
// 登录页地址
const loginUrl = "/pages/login/index";
/**
 * get请求
 * */
function getRequest(url, data = {}, fun) {
  /*wx.showLoading({
    title: "正在加载中...",
    mask:true
  })*/
  wx.request({
    url: baseUrl + url,
    header: {
      'content-type': 'application/json'
    },
    method: 'GET',
    data: data,
    success(res) {
      //wx.hideLoading();
      return typeof fun == 'function' && fun(res.data)
    },
    fail(res) {
      //wx.hideLoading();
      wx.showModal({
        title: '网络错误',
        content: '网络出错，请刷新重试',
        showCancel: false
      })
      return typeof fun == "function" && fun(false)
    }
  })
}

/**
 * post请求
 **/
function postRequest(url, data = {}, fun) {
  /*wx.showLoading({
    title: "正在加载中...",
  })*/
  // data.token=wx.getStorageSync('tokenD');
  let token = wx.getStorageSync('token')
  wx.request({
    url: baseUrl + url,
    header: {
      'content-type': 'application/json; charset=utf-8',
      'token': token
    },
    data: data,
    method: 'POST',
    success(res) {
      //wx.hideLoading(); 
      return typeof fun == 'function' && fun(res.data)
    },
    fail(res) {
      //wx.hideLoading();
      wx.showModal({
        title: '网络错误',
        content: '网络出错，请刷新重试',
        showCancel: false
      })
      return typeof fun == 'function' && fun(false)
    }
  })

}

function PostRequest(url, data = {}, fun) {
  wx.showLoading({
    title: "请稍等...",
  })
  // let token = 'vNTT8GGmHHZANDJgFRonE917DOkpggZb'
  let token = wx.getStorageSync('token')
  if (token) {
    wx.request({
      url: baseUrl + url,
      header: {
        'content-type': 'application/json; charset=utf-8',
        'token': token
      },
      data: data,
      method: 'POST',
      success(res) {
      wx.hideLoading();
        if(res.data.code==20003){
          wx.showModal({
            title: '提示',
            content: '您的登录已过期,请重新登录~',
            showCancel: true, //是否显示取消按钮
            cancelText: "否", //默认是“取消”
            // cancelColor:'skyblue',//取消文字的颜色
            confirmText: "是", //默认是“确定”
            // confirmColor: 'skyblue',//确定文字的颜色
            success: function (res) {
              if (res.cancel) {
                //点击取消,默认隐藏弹框
                wx.navigateBack({
                  delta: 1,
                })
              } else {
                //点击确定
                wx.navigateTo({
                  url: loginUrl,
                })
              }
            },
            fail: function (res) {}, //接口调用失败的回调函数
            complete: function (res) {}, //接口调用结束的回调函数（调用成功、失败都会执行）
          })
        }else{
          return typeof fun == 'function' && fun(res.data)
        }
      },
      fail(res) {
      wx.hideLoading();
        console.log(res)
        wx.showModal({
          title: '网络错误',
          content: '网络出错，请刷新重试',
          showCancel: false
        })
        return typeof fun == 'function' && fun(false)
      }
    })
  } else {
    wx.hideLoading();
    wx.showModal({
      title: '提示',
      content: '您的登录已过期,请重新登录~',
      showCancel: true, //是否显示取消按钮
      cancelText: "否", //默认是“取消”
      // cancelColor:'skyblue',//取消文字的颜色
      confirmText: "是", //默认是“确定”
      // confirmColor: 'skyblue',//确定文字的颜色
      success: function (res) {
        if (res.cancel) {
          //点击取消,默认隐藏弹框
          wx.navigateBack({
            delta: 1,
          })
        } else {
          //点击确定
          wx.navigateTo({
            url: loginUrl,
          })
        }
      },
      fail: function (res) {}, //接口调用失败的回调函数
      complete: function (res) {}, //接口调用结束的回调函数（调用成功、失败都会执行）
    })
  }

}
function PostRequest2(url, data = {}, fun) {
  wx.showLoading({
    title: "请稍等...",
  })
  // let token = 'vNTT8GGmHHZANDJgFRonE917DOkpggZb'
  let token = wx.getStorageSync('token2')
  if (token) {
    wx.request({
      url: baseUrl + url,
      header: {
        'content-type': 'application/json; charset=utf-8',
        'token': token
      },
      data: data,
      method: 'POST',
      success(res) {
      wx.hideLoading();
        if(res.data.code==20003){
          wx.showModal({
            title: '提示',
            content: '您的登录已过期,请重新登录~',
            showCancel: true, //是否显示取消按钮
            cancelText: "否", //默认是“取消”
            // cancelColor:'skyblue',//取消文字的颜色
            confirmText: "是", //默认是“确定”
            // confirmColor: 'skyblue',//确定文字的颜色
            success: function (res) {
              if (res.cancel) {
                //点击取消,默认隐藏弹框
                wx.navigateBack({
                  delta: 1,
                })
              } else {
                //点击确定
                wx.navigateTo({
                  url: loginUrl,
                })
              }
            },
            fail: function (res) {}, //接口调用失败的回调函数
            complete: function (res) {}, //接口调用结束的回调函数（调用成功、失败都会执行）
          })
        }else{
          return typeof fun == 'function' && fun(res.data)
        }
      },
      fail(res) {
      wx.hideLoading();
        console.log(res)
        wx.showModal({
          title: '网络错误',
          content: '网络出错，请刷新重试',
          showCancel: false
        })
        return typeof fun == 'function' && fun(false)
      }
    })
  } else {
    wx.hideLoading();
    wx.showModal({
      title: '提示',
      content: '您的登录已过期,请重新登录~',
      showCancel: true, //是否显示取消按钮
      cancelText: "否", //默认是“取消”
      // cancelColor:'skyblue',//取消文字的颜色
      confirmText: "是", //默认是“确定”
      // confirmColor: 'skyblue',//确定文字的颜色
      success: function (res) {
        if (res.cancel) {
          //点击取消,默认隐藏弹框
          wx.navigateBack({
            delta: 1,
          })
        } else {
          //点击确定
          wx.navigateTo({
            url: loginUrl,
          })
        }
      },
      fail: function (res) {}, //接口调用失败的回调函数
      complete: function (res) {}, //接口调用结束的回调函数（调用成功、失败都会执行）
    })
  }

}
function upLoadRequest(url, file = {}, fun) {
  wx.uploadFile({
    url: baseUrl + url,
    filePath: file.url,
    name: 'file',
    success(res) {
      //wx.hideLoading();
      return typeof fun == 'function' && fun(JSON.parse(res.data))
    },
    fail(res) {
      //wx.hideLoading();
      console.log(res)
      wx.showModal({
        title: '网络错误',
        content: '网络出错，请刷新重试2',
        showCancel: false
      })
      return typeof fun == 'function' && fun(false)
    }
  })
}

module.exports = {
  getRequest: getRequest,
  postRequest: postRequest,
  PostRequest: PostRequest,
  PostRequest2: PostRequest2,
  upLoadRequest: upLoadRequest
}